package com.xingyi.bacs.bean;

import lombok.Data;

import java.math.BigDecimal;

/**
 * 商户挂账表（T_BUZ_BILL_DATA）
 * Created by wujt on 26/9/2021
 */
@Data
public class Bill {

    private int id;

    /**
     * 清算日期
     */
    private String clearDate;

    /**
     * 代付批次号
     */
    private String bepayBatch;

    /**
     * 商户号
     */
    private String merchantCode;

    /**
     * 商户名称
     */
    private String merchantName;

    /**
     * 所属代理商
     */
    private String agentCode;

    /**
     * 代理商名称
     */
    private String agentName;

    /**
     * 账户名称
     */
    private String accountName;

    /**
     * 结算账户
     */
    private String cardNumber;

    /**
     * 开户行
     */
    private String bankName;

    /**
     * 账户类型(1、对公  2、对私)
     */
    private int accountType;

    /**
     * 签约银行
     */
    private String sigingBank;

    /**
     * 机构代码
     */
    private String organizationCode;

    /**
     * 机构名称
     */
    private String organizationName;

    /**
     * 业务代码
     */
    private String businessCode;

    /**
     * 业务名称
     */
    private String businessName;

    /**
     * 项目代码
     */
    private String projectCode;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 挂账金额
     */
    private BigDecimal billMoney;

    /**
     * 默认通道
     */
    private int channelId;

    /**
     * 默认通道名称
     */
    private String channelName;

    /**
     * 挂账原因(未清算、清算失败、可疑数据、黑名单、风险控制、代理限额、商户信息缺失)
     */
    private int billReason;

    /**
     * 数据有效性
     */
    private int effectiveSign;

    /**
     * 挂账来源(1、导入  2、异常的风控  3、异常的清算  4、挂账的风控  5、挂账的清算)
     */
    private int billFrom;

    /**
     * 结算状态（1：未清算  2：清算失败  3：可疑）
     */
    private int payStatu;

    /**
     * 挂账结果（0、未处理  1、已核销  2、已释放）
     */
    private int billResult;

    /**
     * 导入批号
     */
    private String importBatchNo;

    /**
     * 冻结金额（指核销的金额）
     */
    private BigDecimal freezingMoney;

    /**
     * 清算批号
     */
    private String liquidationBatchNum;

    /**
     * 交易日期
     */
    private String transactionDate;

    /**
     * 原始挂账金额
     */
    private BigDecimal oldMoney;

    /**
     * 原结算通道（实时对账/隔日对账时候更新）
     */
    private int settleChannel;

    /**
     * 原清算日期
     */
    private String firstLiquiDate;

    /**
     * 账户性质
     */
    private int accountNature;

    /**
     * 开户地区
     */
    private String accountArea;

    /**
     * 对应的在excel的行号
     */
    private int rowIndex;

    /**
     * 邮储标识(0.本行    1.他行)
     */
    private int postalSign;

    /**
     * 所属银行
     */
    private String accountBankName;
    /**
     * 商户来源（MPOS,收单...）
     */
    private String merchantFrom;
    /**
     * 手续费
     */
    private BigDecimal poundageMoney;

    /**
     * 收益金额
     */
    private BigDecimal earningsMoney;


    /**
     * 数据导入人员Id
     */
    private int importUserId;

    /**
     * 清算数据导入时间
     * yyyyMMddhhmmss
     */
    private String importTime;

    /**
     * 导入文件名
     */
    private String importFileName;

    /**
     * 是否支持划付功能（0、不支持  1、支持）
     */
    private int topayStatu;

    /**
     * 冻结金额（从异常数据挂账）
     */
    private BigDecimal frozenException;

    /**
     * 挂账标识（0、非挂账  1、初始来源挂账）
     */
    private int billStatus;

    /**
     * 结算批号
     */
    private String settlmentBatchNum;

    /**
     * 暂缓标识（0、非暂缓  1、初始来源暂缓）
     */
    private int respiteStatus;

    /**
     * 分润数据标识（0、非分润 1、初始来源分润）
     */
    private int profitStatus;

    /**
     * 分润数据来源id
     */
    private int profitId;

    /**
     * 联系电话
     */
    private String phoneNumber;

    /**
     * 返回应答码
     */
    private String payResponseCode;

    /**
     * 0、默认  1、代付成功  2、当日其它变更
     */
    private int realPayStatus;

    /**
     * 用于同代付卡号进行匹配
     */
    private String newCardNumber;

    /**
     * 清分文件来源名称（代理名称）
     */
    private String fileFromName;

    /**
     * 存对应来源数据ID（返押金、单边账）
     */
    private int fyjId;

    /**
     * 清分方式
     */
    private String clearMode;

    /**
     * 申请补付（1待申请 ,2已申请）
     */
    private Integer payApplyStatus;

    /**
     * 补付操作申请人
     */
    private String payApplyName;

    /**
     * 补付操作申请时间
     */
    private String payApplyTime;
}
